package com.hc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hc.domain.City;

import java.util.List;

/**
 * @author hecai
 */
public interface CityService extends IService<City> {


    /**
     * 添加城市
     *
     * @param city
     * @return 返回新增城市所属省下辖的所有城市，给Redis缓存用的
     */
    City insertCity(City city, Boolean flag);

    /**
     * 根据id查找城市
     * 假设系统初始化时所有的城市都已经缓存到Redis中，如果用户所要查的城市不存在，则先添加城市再查找
     *
     * @param id 要查找的城市的编号
     * @return 返回所查找的城市
     */
    City findCityById(Integer id, Boolean flag);

    /**
     * 查找指定id的省份下辖的城市
     *
     * @param provinceId
     * @return
     */
    List<City> findCityByProvinceId(Integer provinceId, Boolean flag);

    /**
     * 修改城市
     *
     * @param city
     * @return 返回修改后的城市
     */
    City updateCity(City city, Boolean flag);

    /**
     * 删除id指定的城市
     *
     * @param id
     * @return
     */
    City deleteCityById(Integer id, Boolean flag);

}
